
Nombre:
DLL Show
Versión:
4.x
Editor:
Software By Design
Víctima:
DLLSHOW.EXE
Herramientas:
SoftICE
Cerebro
Cracker:
LW2000
Tutorial:
número 55
URL:
http://www.execpc.com/~sbd
Renuncia: Este tutorial tiene una finalidad únicamente
educativa. No asumo ninguna responsabilidad por el mal uso de éste material.
1.
Bien, hacemos click en ‘Help’ y vamos
al diálogo de registro. Introducimos los siguientes detalles: ‘LW2000 [CiA]’
como User Name, como Organization no es necesario introducir nada y ‘1230099’
como Registration.
2.
Nos cambiamos a SoftICE y ponemos un
breakpoint en ‘getDlgItemTextA’ con “BPX GETDLGITEMTEXTA”
3.
Ahora pulsamos F5 para retornar a la
aplicación. Bien, vamos a probar … Pulsamos el botón ‘Ok’. ¡¡¡Boooom!!! SoftICE
aparece. Recuerde: tenemos tres campos y nuestro Serial es el último. Esto
quiere decir que tenemos que pulsar F5 dos veces … Bien, SoftICE hace break
en el último campo. Ahora pulsamos F11 para llegar a la instrucción que realizó
la llamada. Ahora seguimos traceando con F10 y vamos echando un vistazo a
los registro:
0177:0040D5B2 E8B9810000 call 00415770
0177:0040D5B7 8D4C2440 lea ecx, dword ptr [esp+40]
0177:0040D5BB 51 push ecx
0177:0040D5BC E8559C0000 call 00417216
0177:0040D5C1 56 push esi
0177:0040D5C2 8BD8 mov ebx, eax
0177:0040D5C4 E837810000 call 00415700
0177:0040D5C9 83C438 add esp, 00000038
0177:0040D5CC 3D92A71901 cmp eax, 0119A792
0177:0040D5D1 7518 jne 0040D5EB
* Reference To: KERNEL32.lstrcpyA, Ord:0302h
|
0177:0040D5D3 8B1D28F14100 mov ebx, dword
ptr [0041F128]
* Possible StringData Ref from Data Obj
->"Gregory Braun"
|
0177:0040D5D9 68D42E4200 push 00422ED4
0177:0040D5DE 56 push esi
0177:0040D5DF FFD3 call ebx
* Possible StringData Ref from Data Obj
->"Software Design"
|
0177:0040D5E1 68C42E4200 push 00422EC4
0177:0040D5E6 57 push edi
0177:0040D5E7 FFD3 call ebx
0177:0040D5E9 EB07 jmp 0040D5F2
* Referenced by a (U)nconditional or
(C)onditional Jump at Address:
0177:0040D5D1(C)
|
0177:0040D5EB 3D3CCE5F0D cmp eax, 0D5FCE3C
0177:0040D5F0 750C jne 0040D5FE
* Referenced by a (U)nconditional or
(C)onditional Jump at Address:
0177:0040D5E9(U)
|
0177:0040D5F2 57 push edi
0177:0040D5F3 56 push esi
0177:0040D5F4 E8A77B0000 call 004151A0
0177:0040D5F9 83C408 add esp, 00000008
0177:0040D5FC 8BD8 mov ebx, eax
* Referenced by a (U)nconditional or
(C)onditional Jump at Address:
0177:0040D5F0(C)
|
0177:0040D5FE 57 push edi
0177:0040D5FF 56 push esi
0177:0040D600 E89B7B0000 call 004151A0 >Rutina de
>comprobación
0177:0040D605 83C408 add esp, 00000008
0177:0040D608 3BD8 cmp ebx, eax >Compara el
>Serial
falso y
>el
correcto
0177:0040D60A 5F pop edi
0177:0040D60B 741D je 0040D62A >¡Bad
Boy!
4.
Dentro del ‘CALL’ de la dirección ‘0040D600’
se genera el Serial Number correcto y se guarda en el registro EAX. Nuestro
Serial Number falso ‘1230099’ está guardado en el registro EBX. Traceamos
hasta ‘0040D60A’ y en la ventana Command de SoftICE escribimos “? EBX” con
lo cual veremos nuestro Serial Number falso, y escribimos “? EAX” lo que nos
mostrará el Serial Number correcto. Lo anotamos y lo probamos.
¡Enhorabuena! ¡Ya es usted un usuario registrado!
¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme
un email a LW2000@gmx.net.
o vaya a http://www.LW2000.cjb.net
Gracia a tKC por sus tutoriales. Empecé leyendo su
primer tutorial y todavía sigo leyéndolos.
Traducción de: MeGaBiTe